#pragma once

namespace Base { namespace ConstStr {

    template<class T> 
    class ConstStrImpl;

    class ConstWStr
    {
    private:
        ConstWStr();
        ~ConstWStr();

    public:
        static ConstWStr* get();
        const std::wstring* string(const std::wstring&);

    private:
        ConstStrImpl<std::wstring>* m_impl;
    };

}}